On the Assessment of Pointcut Design in Evolving Aspect-Oriented Software

نویسندگان

  • Raffi Khatchadourian
  • Phil Greenwood
  • Awais Rashid
چکیده

The pointcut expression (PCE) is a key mechanism in enabling Aspect-Oriented Programming (AOP) (Kiczales et al. 1997) to improve the localization of crosscutting concerns. PCEs quantify over well-defined points in the execution of the program called join points. A join point shadow, on the other hand, refers to base-code corresponding to a join point (Xu and Rountev 2008), i.e., a point in the code where the compiler may perform the weaving (Masuhara et al. 2003). Advice joins at these points to allow the crosscutting concerns to be composed in an appropriate manner. PCEs need to be well-designed to ensure that they are correct in terms of identifying relevant join points to make certain the crosscutting concerns are composed correctly. Furthermore, PCEs should be robust in the midsts of base-code alterations. That is, changes to the base-code can lead to join points incorrectly falling in our out of scope of the pointcut expressions. Such situations are problematic in that they can cause crosscutting concerns to be composed incorrectly. If undetected, this could cause the composed program to behave unexpectedly, thus causing errors to occur. PCEs that result in such unexpected behavior of the composed program due to evolution are often referred to as “fragile” (Koppen and Stoerzer 2004). The skill required to design a robust PCE, especially in languages such as AspectJ (Kiczales et al. 2001), is often considered a “dark-art”, as well as associated with many common pitfalls (Colyer et al. 2004). Typically, a number of alternative PCEs exist that are equivalent in terms of their

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Evolving Pointcut Definition to Get Software Evolution

In this paper, we have briefly analyzed the aspect-oriented approach with respect to the software evolution topic. The aim of this analysis is to highlight the aspect-oriented potentiality for software evolution and its limits. From our analysis, we can state that actual pointcut definition mechanisms are not enough expressive to pick out from design information where software evolution should ...

متن کامل

A Classification of Pointcut Language Constructs pdfauthor

Aspect-oriented systems provide pointcut languages in order to specify selection criteria for join points which in turn will be adapted. However, a closer look into current pointcut languages reveals that there are large differences among them. Consequently different aspect-oriented system permit to specify different selection criteria. This also means that it is in general hard to state whethe...

متن کامل

Dataflow Pointcut in Aspect-Oriented Programming

A dataflow-based pointcut is proposed for aspect-oriented programming (AOP) languages. The pointcut specifies where aspects should be applied based on the origins of values. It is designed to be compatible with the other kinds of pointcuts in existing AOP languages. Primary application fields of the pointcut are the aspects in which flow of information is important, such as security. This paper...

متن کامل

Pointcut Design with AODL

The designing of pointcuts is a crucial step in AspectOriented software development. Pointcuts decide the places where aspects interact with the base system. Without designing these pointcuts properly, the weaving process of aspects with the base system cannot be modelled efficiently. A good design of pointcuts can ensure proper identification of join points, clear representation of advice-poin...

متن کامل

A UML Notation for Aspect-Oriented Software Design

This position paper presents a UML notation for designing aspect-oriented applications. It is extracted from our experiences when building the JAC framework and from the concepts dened in the AspectJ language or in Aspectual Components. This notation is a proposal for a rst step towards a high-level designing graphical language that can be used when building aspect-oriented applications. Moreov...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008